package com.sg.dto.biz.component.res;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @desc QueryClassMatchResultToAnswerDetailComRespDto
 * @使用场景
 */
@Data
public class QueryClassMatchResultToAnswerDetailComRespDto
        extends BaseDto
        implements Serializable {

    /**
     * 配置方案ID
     */
    @ApiModelProperty("配置方案ID ")
    private String confSchemeId;

    /**
     * 冗余业务场景标识
     */
    @ApiModelProperty("冗余业务场景标识")
    private String bizSceneCode;

    /**
     * 冗余评价主题类型
     */
    @ApiModelProperty("冗余评价主题类型")
    private String evaluationSubjectTypeCode;

    /**
     * 冗余开启OKR场景
     */
    @ApiModelProperty("冗余开启OKR场景")
    private String isOkrPlanScene;

    /**
     * 冗余评价模板类型
     */
    @ApiModelProperty("冗余评价模板类型")
    private String evaluationTemplateTypeCode;

    /**
     * 父周期周期类型
     */
    @ApiModelProperty("父周期周期类型")
    private String fatherCycleType;

    /**
     * 周期类型
     */
    @ApiModelProperty("周期类型")
    private String cycleType;

    /**
     * 父周期子周期数量
     */
    @ApiModelProperty("父周期子周期数量")
    private Long fatherSubcycleQuantity;

    /**
     * 中期周期类型
     */
    @ApiModelProperty("中期周期类型")
    private String midCycleType;

    /**
     * 中期子周期数量
     */
    @ApiModelProperty("中期子周期数量")
    private Long midSubcycleQuantity;

    /**
     * 子周期周期类型
     */
    @ApiModelProperty("子周期周期类型")
    private String subcycleType;

    /**
     * 单周期周期类型
     */
    @ApiModelProperty("单周期周期类型")
    private String monocycleCycleType;

    /**
     * 冗余目标规划模板子类型
     */
    @ApiModelProperty("冗余目标规划模板子类型")
    private String targetPlanTempSubtype;

    /**
     * 规划类型 GENERAL_PLANNING:常规规划 THEMATIC_PLANNING:专题规划
     */
    @ApiModelProperty("规划类型")
    private String planningType;

    /**
     * 是否开启中期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启中期")
    private String openMidCycle;

    /**
     * 周期模式 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
     */
    @ApiModelProperty("周期模式")
    private String cycleMode;

    /**
     * 是否开启评价工作 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启评价工作")
    private String isOpenEvaWork;

    /**
     * 五年周期配置标识
     */
    @ApiModelProperty("五年周期配置标识")
    private String fiveYear;

    /**
     * 三年周期配置标识
     */
    @ApiModelProperty("三年周期配置标识")
    private String threeYear;

    /**
     * 年周期配置标识
     */
    @ApiModelProperty("年周期配置标识")
    private String year;

    /**
     * 半年周期配置标识
     */
    @ApiModelProperty("半年周期配置标识")
    private String halfYear;

    /**
     * 季度周期配置标识
     */
    @ApiModelProperty("季度周期配置标识")
    private String quarter;

    /**
     * 双月周期配置标识
     */
    @ApiModelProperty("双月周期配置标识")
    private String doubleMonths;

    /**
     * 月周期配置标识
     */
    @ApiModelProperty("月周期配置标识")
    private String month;

    /**
     * 开启创建业务应用标识
     */
    @ApiModelProperty("开启创建业务应用标识")
    private String openCreateBizAppCode;

    /**
     * 是否开启规划方案类别 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启规划方案类别")
    private String isOpenPlanSchemeClass;

    /**
     * 周期体系类型标识 YEAR:自然年 SCHOOL_YEAR:学年
     */
    @ApiModelProperty("周期体系类型标识")
    private String cycleSystemCode;

    /**
     * 是否开启填报工作 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启填报工作")
    private String isOpenFillWork;

    /**
     * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
     */
    @ApiModelProperty("规划方案类别")
    private String planSchemeClass;

    /**
     * 时段计算参照时间
     */
    @ApiModelProperty("时段计算参照时间")
    private Long timeCountReferTime;

    /**
     * 时段规则设置级别 EVA_TEMP_LEVEL:评价模板级 CYCLE_TYPE_LEVEL:周期类型级 UNLIMITED:不限
     */
    @ApiModelProperty("时段规则设置级别")
    private String timeRulesSetLevel;

    /**
     * 填报时段规则标识
     */
    @ApiModelProperty("填报时段规则标识")
    private String fillTimeRulesCode;

    /**
     * 评价时段规则标识
     */
    @ApiModelProperty("评价时段规则标识")
    private String evaTimeRulesCode;

    /**
     * 空间组织架构模式
     */
    @ApiModelProperty("空间组织架构模式")
    private String orgStructureModel;

    /**
     * 是否开启系统对接
     */
    @ApiModelProperty("是否开启系统对接")
    private String isIntergration;

    /**
     * 是否允许导入
     */
    @ApiModelProperty("是否允许导入")
    private String isAllowImport;

    /**
     * 是否启用流程审批
     */
    @ApiModelProperty("是否启用流程审批")
    private String isOpenApprovalProcess;

    /**
     * 是否开启多组织
     */
    @ApiModelProperty("是否开启多组织")
    private String openManyOrg;

    /**
     * 是否开启短信验证服务
     */
    @ApiModelProperty("是否开启短信验证服务")
    private String isOpenSmsService;

    /**
     * 是否使用平台短信验证服务
     */
    @ApiModelProperty("是否使用平台短信验证服务")
    private String isUsePlatformSmsService;

    /**
     * AccessKeyID
     */
    @ApiModelProperty("AccessKey ID")
    private String accessKeyId;

    /**
     * AccessKeySecret
     */
    @ApiModelProperty("AccessKey Secret")
    private String accessKeySecret;

    /**
     * 主观评分满分值
     */
    @ApiModelProperty("主观评分满分值")
    private Long subjectiveRatingTotalValue;

    /**
     * 得分小数点规则
     */
    @ApiModelProperty("得分小数点规则")
    private Long scoreDecimalPoint;

    /**
     * 达成度小数点规则
     */
    @ApiModelProperty("达成度小数点规则")
    private Long degreeDecimalPoint;

    /**
     * 进度小数点规则
     */
    @ApiModelProperty("进度小数点规则")
    private Long progressDecimalPoint;

    /**
     * 小数点规则
     */
    @ApiModelProperty("小数点规则")
    private Long decimalPointRules;

    /**
     * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
     */
    @ApiModelProperty("小数最后一位规则")
    private String decimalDigitsLastRules;

    /**
     * 主观评分单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
     */
    @ApiModelProperty("主观评分单位")
    private String subjectiveMarkUnit;

    /**
     * 汇报管理模式 PROGRESS_MODEL:进度模式 DEGREE_MODEL:达成度模式 MIXED_MODEL:混合模式
     */
    @ApiModelProperty("汇报管理模式")
    private String reportManagementModel;

    /**
     * 无实际值指标是否开启进度汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("无实际值指标是否开启进度汇报")
    private String noPracticalValueObjIsProgReport;

    /**
     * 汇报类型 ARTIFICIAL_REPORT:人工汇报 SEMIAUTOMATIC_REPORT:半自动汇报 AUTO_REPORT:全自动汇报
     */
    @ApiModelProperty("汇报类型")
    private String reportType;

    /**
     * 是否开启预算汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启预算汇报")
    private String isOpenBudgetReport;

    /**
     * 是否开启自定义汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启自定义汇报")
    private String isOpenCustomReport;

    /**
     * 主观评分满分值单位
     */
    @ApiModelProperty("主观评分满分值单位")
    private String subjectiveRatingTotalValueUnit;

    /**
     * 主观得分小数点规则
     */
    @ApiModelProperty("主观得分小数点规则")
    private Long subjectiveScorePoint;

    /**
     * 数量增长型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("数量增长型实际值计算类型")
    private String numGroActualUfuncType;

    /**
     * 数量增长型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("数量增长型上级指标计算类型")
    private String numGroSuperiorTargetUfuncType;

    /**
     * 百分比增长型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("百分比增长型实际值计算类型")
    private String perGroActualUfuncType;

    /**
     * 百分比增长型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("百分比增长型上级指标计算类型")
    private String perGroSuperiorTargetUfuncType;

    /**
     * 百分比降幅型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("百分比降幅型实际值计算类型")
    private String perDecActualUfuncType;

    /**
     * 百分比降幅型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("百分比降幅型上级指标计算类型")
    private String perDecSuperiorTargetUfuncType;

    /**
     * 比率增长型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("比率增长型实际值计算类型")
    private String ratioGroActualUfuncType;

    /**
     * 比率增长型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("比率增长型上级指标计算类型")
    private String ratioGroSuperiorTargetUfuncType;

    /**
     * 比率降幅型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("比率降幅型实际值计算类型")
    private String ratioDecActualUfuncType;

    /**
     * 比率降幅型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("比率降幅型上级指标计算类型")
    private String ratioDecSuperiorTargetUfuncType;

    /**
     * 进度型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("进度型实际值计算类型")
    private String progressActualUfuncType;

    /**
     * 进度型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("进度型上级指标计算类型")
    private String progressSuperiorTargetUfuncType;

    /**
     * 数量降幅型实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("数量降幅型实际值计算类型")
    private String numDecActualUfuncType;

    /**
     * 数量降幅型上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("数量降幅型上级指标计算类型")
    private String numDecSuperiorTargetUfuncType;

    /**
     * 主观定性实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("主观定性实际值计算类型")
    private String subQuaActualUfuncType;

    /**
     * 主观定性上级指标计算类型 SUMMARIZE:下级指标累计相加值 MANUAL_FILLING:自身直接录入实际值 SUM_OF_MULTI_ACT_AND_WEI:实际值乘以权重再累计相加值 LAST_OF_SUBORDINATE:取下级指标最后值 MAX_OF_SUBORDINATE:取下级指标最高值 MIN_OF_SUBORDINATE:取下级指标最低值 AVG_OF_SUBORDINATE:取下级指标平均值 SPEC_AVG_OF_SUBORDINATE:去除最大最小取下级平均值
     */
    @ApiModelProperty("主观定性上级指标计算类型")
    private String subQuaSuperiorTargetUfuncType;

    /**
     * 当前主观得分权重
     */
    @ApiModelProperty("当前主观得分权重")
    private String curSubjectiveScoreWeight;

    /**
     * 过程主观得分权重
     */
    @ApiModelProperty("过程主观得分权重")
    private String processSubjectiveScoreWeight;

    /**
     * 不规则周期类型
     */
    @ApiModelProperty("不规则周期类型")
    private String irregularCycleType;

    /**
     * 权重分小数点规则
     */
    @ApiModelProperty("权重分小数点规则   ")
    private String weightDecimalPoint;

    /**
     * 权重小数点规则
     */
    @ApiModelProperty("权重小数点规则")
    private String weightPoint;

    /**
     * 末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @ApiModelProperty("末级周期类型")
    private String lastCycleType;

    /**
     * 实际得分公式 QUANTIZED_SCORE_FORMULA:主客观全维度计算公式
     */
    @ApiModelProperty("实际得分公式")
    private String actualScoreFormula;

    /**
     * 目标分类目标得分是否开启本级得分 TRUE:是 FALSE:否
     */
    @ApiModelProperty("目标分类目标得分是否开启本级得分")
    private String actualScoreIsOpenLocalLevelScore;

    /**
     * 增降幅小数点规则
     */
    @ApiModelProperty("增降幅小数点规则")
    private String increasesDropDecimalPoint;

    /**
     * 实际值小数点规则
     */
    @ApiModelProperty("实际值小数点规则")
    private Long actualValueDecimalPoint;

    /**
     * 是否启用Websocket TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否启用Websocket")
    private String isUseWebsocket;

    /**
     * webSocket后端调用地址
     */
    @ApiModelProperty("webSocket后端调用地址")
    private String websocketAddress;

    /**
     * webSocket后端调用端口
     */
    @ApiModelProperty("webSocket后端调用端口")
    private String websocketPort;

    /**
     * webSocket后端调用协议
     */
    @ApiModelProperty("webSocket后端调用协议")
    private String websocketAgreement;

    /**
     * webSocket前端调用地址
     */
    @ApiModelProperty("webSocket前端调用地址")
    private String websocketAddressFront;

    /**
     * webSocket前端调用端口
     */
    @ApiModelProperty("webSocket前端调用端口")
    private String websocketPortFront;

    /**
     * webSocket前端调用协议
     */
    @ApiModelProperty("webSocket前端调用协议")
    private String websocketAgreementFront;

    /**
     * websocket服务访问账号
     */
    @ApiModelProperty("websocket服务访问账号")
    private String websocketUserId;

    /**
     * websocket服务访问密码
     */
    @ApiModelProperty("websocket服务访问密码")
    private String websocketUserPassword;

    /**
     * 预算层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务 LAST_CON_TASK_BUDGET:末级建设任务 ONE_LEVEL_OBSERVATION_POINT_BUDGET:一级观测点预算 LAST_LEVEL_OBSERVATION_POINT_BUDGET:末级观测点预算
     */
    @ApiModelProperty("预算层级")
    private String budgetHierarchy;

    /**
     * 预算费用汇报层级
     */
    @ApiModelProperty("预算费用汇报层级")
    private String budgetReportHierarchy;

    /**
     * 是否启用预算 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否启用预算")
    private String isOpenBudget;

    /**
     * 积分账户单位
     */
    @ApiModelProperty("积分账户单位")
    private String pointsAccountUnit;

    /**
     * 是否开启资金到账 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启资金到账")
    private String isOpenFundsArrival;

    /**
     * 是否允许预算超支 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否允许预算超支")
    private String isAllowBudgetOverruns;

    /**
     * 启用的资金科目类型
     */
    @ApiModelProperty("启用的资金科目类型")
    private String useAccountSubjectType;

    /**
     * 更新周期类型标识
     */
    @ApiModelProperty("更新周期类型标识")
    private String updateCycleTypeCode;

    /**
     * 工作周期类型标识
     */
    @ApiModelProperty("工作周期类型标识")
    private String workCycleTypeCode;

    /**
     * 是否租户周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否租户周期")
    private String isTenementCycle;

}
